Addition of an ecFlow tool.#845
Open
christinaholtNOAA wants to merge 13 commits intoufs-community:ecflow_toolfrom
Open
Addition of an ecFlow tool.#845christinaholtNOAA wants to merge 13 commits intoufs-community:ecflow_toolfrom
christinaholtNOAA wants to merge 13 commits intoufs-community:ecflow_toolfrom
Conversation
Collaborator
Author
|
Using Jinja2 expressions and dereferencing made things 100x easier! I added support for variables under Tasks, too, just to make sure I was getting the full benefit. Using an instance variable for these refs also means that a user can reference higher-level variables at any level, and we don't need to pass around that dict. I'm not sure that NCO typically wants to do that, but it is a pattern that's used in Rocoto, so it might come in handy for some users. Here's the updated input YAML: And the output suite definition where I've referenced |
maddenp-cu
reviewed
Mar 23, 2026
maddenp-cu
reviewed
Mar 25, 2026
…into ecflow_tool
Collaborator
Author
|
The test is failing due to 98% test coverage. Should I reduce the value, or should we override the failure when we merge? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Synopsis
This is the basis for an ecFlow tool that translates YAML to an ecFlow definition.
Fixes Issue #847
Tests/docs/JSONSchema are all meant to be contributed separately.
In my working example, I'm testing with the following YAML:
And the result is:
One key aspect that I haven't seen a in any prior solutions is the
expandsupport. When included, as in thefamily_postset oftasks_*, multiple tasks will be created with the variables included in theexpandsection realized. This adds a looping mechanism to reduce duplication in the YAML definition.The tool also writes all the task scripts, as defined by the
task: script:blocks.For example,
prod/primary/00/aigfs/v1.0/forecast/forecast.ecfcontains:I've been testing with a super simple script:
Type
Impact
Checklist